package com.baomibing.flow.json;

import com.baomibing.flow.constant.NodeTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * JTask
 *
 * @author frog 2023/10/24 08:59
 * @version 1.0.0
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class JTask extends JBase {
    //任务模型
    private String model;

    //会签时驳回策略
    private String allActionRejectType;

    //驳回策略
    private String rejectPolicy;

    //驳回冲提交后直接跳到目标节点，在重新提交策略为 COMMIT_TO_LATEST_REJECT 及模型为FILL时有效
    private String directToTarget;

    //驳回后重新提交策略
    private String recommitPolicy;

    //委托类型
    private String entrustType;

    //委托列表
    private List<String> entrusts;

    //处理类型
    private String actionType;

    //任务类型
    private String taskType;

    private JTaskJoinProcess childProcess;

    private Boolean beAllActionComplete = Boolean.FALSE;

    private Boolean beAllActionReject = Boolean.FALSE;

    private String taskAdvice;

    public JTask() {
        this.nodeType = NodeTypeEnum.Task;
    }
}
